/**  
 * @Title: TArrayList.java
 * @Package test.limit.utils
 * @author maoyun(maoyun0903@163.com)
 * @date 2014-4-1 上午11:12:32
 * @version V1.0
 */ 
package test.limit.utils;

import junit.framework.TestCase;

/** 
 * <br/>
 * @author maoyun(maoyun0903@163.com)
 * @date 2014-4-1 上午11:12:32 
 * @version V1.0
 */

public class TArrayList extends TestCase{

	
	public void testArrayList(){
		
		
//		List<ArrayList<String>> list = new ArrayList<ArrayList<String>>();
//		for (int i = 0; i < 5; i++) {
//			
//			ArrayList<String> n = new ArrayList<String>();
//			n.add("张三"+i);
//			n.add("李斯"+i);
//			n.add("王五"+i);
//			n.add("马六"+i);
//			
//			list.add(n);
//			
//			
//		}
// 		
//		System.out.println(list);
//		
//		
//		
//		
//		final Hashtable<Integer, String> table = new Hashtable<Integer, String>();
//		for (int i = 0; i < 100; i++) {
//			table.put(i, "HashTable"+i);
//		}
//		
	}
	
	public static void main(String[] args) {
		final Outputter output = new Outputter();  
        new Thread() {  
            public void run() {  
                output.ouput("zhangsan");  
            };  
        }.start();        
        new Thread() {  
            public void run() {  
                output.ouput("lisi");  
            };  
        }.start(); 
	}
	
	
	
}
class Outputter {  
	
//    public synchronized void output(String name) {  
//		for(int i = 0; i < name.length(); i++) {  
//            System.out.print(name.charAt(i));  
//             try {
//				Thread.sleep(100);
//			} catch (InterruptedException e) {
//				e.printStackTrace();
//			}  
//        }  
//    }  
	
	
	public void ouput(String name){
		synchronized (this) {
			
			for(int i = 0; i < name.length(); i++) {  
	            System.out.print(name.charAt(i));  
	             try {
					Thread.sleep(100);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}  
	        }  
			
		}
	}
}  
